People have been sharing electronic files for nearly as long as computing devices have existed. Initially, sharing files meant physically transporting some storage media, such as a floppy disk or a stack of punch cards, from one location to another. More recently, sharing files is typically performed by sending files over digital networks, without requiring movement of any physical objects. For example, a file can be sent directly from one device to another over a network to which both devices are connected.
Sending a file directly from one device to another has the drawback that both devices typically have to be connected to the network at the same time. With the proliferation of mobile devices that do not maintain constant network connections, server-based file sharing has become popular. FIG. 1 is a block diagram of a conventional server-based file sharing system. Referring to FIG. 1, the owner of a source device 100 wants to share a file 104 with the owner of a target device 102. The source device 100 connects to a network 106 and uploads the file to a server 108. When the target device 102 connects to the network 106, the server 108 determines whether server 108 has any files for target device 102 to download. In the present example, server 108 determines that file 104 is available for target device 102 to download. File 104 may then be automatically downloaded to target device 102, or target device 102 may display a control through which the owner of target device 102 may cause file 104 to be downloaded to target device 102.
Typically, every server 108 of a file sharing service handles the file transfers for large numbers of client devices. Therefore, when source device 100 provides the file 104 to server 108, source device 100 will typically also provide “sharing criteria” that specifies with whom the file is to be shared. Conventionally, the sharing criteria identifies a user or user group with whom the file 104 is to be shared. In the example illustrated in FIG. 1, the sharing criteria for file 104 may indicate the owner of target device 102, or a user group to which the owner of target device 102 belongs.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.